The AUTOSAR metamodel is defined as a set of templates. Each template specifies
an AUTOSAR artifact such as software components. Among the defined templates, the
\emph{System} template~\cite{systemp} models the configuration of a
system or an Electronic Component Unit (ECU). An ECU is a physical unit on
which software is deployed. When used for modeling the configuration of an ECU,
the System template is referred to as the \emph{ECU Extract}.
Fig.~\ref{fig:systempfig} shows the subset of the ECU Extract manipulated by our transformation.
% \begin{figure*}[tbh]
%  \resizebox{.99\textwidth}{!}{%
%   \includegraphics{imgs/systemp_new.jpg}
%  }
% \caption{The subset of the AUTOSAR System Template used by our transformation.}
% \label{fig:systempfig}
% \vspace{-0.6cm}
% \end{figure*}
\begin{figure*}[tbh]
\centering
% \resizebox{.9\textwidth}{4cm}{%
  \includegraphics[width=0.7\linewidth]{imgs/AUTOSARhighres2.jpg}\\[-2ex]
% }
\caption{Subset of the AUTOSAR System Template directly used by our transformation.}
\label{fig:systempfig}
%\vspace{-0.6cm}
\end{figure*}
%
The ECU extract is modeled using the \emph{System} type that aggregates
\emph{SoftwareComposition} and \emph{SystemMapping} elements. The
\emph{SoftwareComposition} type points to the \emph{CompositionType} type which
eliminates any nested software components in a \emph{SoftwareComposition}. The
\emph{SoftwareComposition} type models the architecture of the software
components deployed on an ECU, the ports of these software components and the
ports' connectors. Each Software component is modeled using the
\emph{ComponentPrototype} type, which defines the structure and attributes of a
software component; each port is modeled using the \emph{PortPrototype} type
(i.e., a \emph{PPortPrototype}or a \emph{RPortPrototype}) for providing
or requiring data and services.

The \emph{SystemMapping} type binds the software components to ECUs and the data
elements to signals and frames (not shown). The \emph{SystemMapping} type
aggregates the \emph{SwcToEcuMapping} type, which assigns
\emph{SwcToEcuMapping\_component}s to an \emph{EcuInstance}.
\emph{SwcToEcuMapping\_component}s in turn, refer to \emph{ComponentPrototype}
elements. According to AUTOSAR, only one \emph{SwcToEcuMapping} should be
created for each processing unit or memory partition in an ECU.